package com.example.airobotpositions.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 面试职位信息表
 * </p>
 *
 * @author 沈骜嘉
 * @since 2025-04-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("interview_positions")
@ApiModel(value="InterviewPositions对象", description="面试职位信息表")
public class InterviewPositions implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "职位唯一ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "职位名称，如高级Java开发工程师")
    @TableField("position_name")
    private String positionName;

    @ApiModelProperty(value = "所属部门")
    @TableField("department")
    private String department;

    @ApiModelProperty(value = "职位级别（允许值：初级/中级/高级/资深/专家）")
    @TableField("position_level")
    private String positionLevel;

    @ApiModelProperty(value = "职位详细描述，包括工作内容、职责等")
    @TableField("job_description")
    private String jobDescription;

    @ApiModelProperty(value = "任职要求，包括学历、经验等硬性条件")
    @TableField("job_requirements")
    private String jobRequirements;

    @ApiModelProperty(value = "所需技能列表（逗号分隔）")
    @TableField("required_skills")
    private String requiredSkills;

    @ApiModelProperty(value = "招聘状态: 0待招聘 1已关闭 2招聘中")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "招聘人数")
    @TableField("headcount")
    private Integer headcount;

    @ApiModelProperty(value = "创建人ID")
    @TableField("created_by")
    private Integer createdBy;

    @ApiModelProperty(value = "创建时间")
    @TableField("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "最后更新人ID")
    @TableField("updated_by")
    private Integer updatedBy;

    @ApiModelProperty(value = "更新时间")
    @TableField("updated_at")
    private LocalDateTime updatedAt;


}
